1 ; UltimateKEYS - 2019-12-05.ahk
3 ; Author : Pieter Degroote
5 ; License : GNU General Public License Version 3
7 ; Website : https://github.com/pieter-degroote/UltimateKEYS
12 ; Keyboard layout (on Windows OS) : US-QWERTY
14 ; AutoHotkey 1.1 (https://www.autohotkey.com/)
18 ; Dead Key : Circumflex Accent
20 dkCircumflex := ComObjCreate("Scripting.Dictionary")
21 dkCircumflex.item("a") := "â" ; a with circumflex
22 dkCircumflex.item("A") := "Â" ; A with circumflex
23 dkCircumflex.item("c") := "ĉ" ; c with circumflex
24 dkCircumflex.item("C") := "Ĉ" ; C with circumflex
25 dkCircumflex.item("e") := "ê" ; e with circumflex
26 dkCircumflex.item("E") := "Ê" ; E with circumflex
27 dkCircumflex.item("g") := "ĝ" ; g with circumflex
28 dkCircumflex.item("G") := "Ĝ" ; G with circumflex
29 dkCircumflex.item("h") := "ĥ" ; h with circumflex
30 dkCircumflex.item("H") := "Ĥ" ; H with circumflex
31 dkCircumflex.item("i") := "î" ; i with circumflex
32 dkCircumflex.item("I") := "Î" ; I with circumflex
33 dkCircumflex.item("j") := "ĵ" ; j with circumflex
34 dkCircumflex.item("J") := "Ĵ" ; J with circumflex
35 dkCircumflex.item("o") := "ô" ; o with circumflex
36 dkCircumflex.item("O") := "Ô" ; O with circumflex
37 dkCircumflex.item("s") := "ŝ" ; s with circumflex
38 dkCircumflex.item("S") := "Ŝ" ; S with circumflex
39 dkCircumflex.item("u") := "û" ; u with circumflex
40 dkCircumflex.item("U") := "Û" ; U with circumflex
41 dkCircumflex.item("w") := "ŵ" ; w with circumflex
42 dkCircumflex.item("W") := "Ŵ" ; W with circumflex
43 dkCircumflex.item("y") := "ŷ" ; y with circumflex
44 dkCircumflex.item("Y") := "Ŷ" ; Y with circumflex
45 dkCircumflex.item("z") := "ẑ" ; z with circumflex
46 dkCircumflex.item("Z") := "Ẑ" ; Z with circumflex
47 dkCircumflex.item("^") := "{^}" ; circumflex accent
48 dkCircumflex.item(" ") := "{^}" ; circumflex accent
53 dkCaron := ComObjCreate("Scripting.Dictionary")
54 dkCaron.item("a") := "ǎ" ; a with caron
55 dkCaron.item("A") := "Ǎ" ; A with caron
56 dkCaron.item("c") := "č" ; c with caron
57 dkCaron.item("C") := "Č" ; C with caron
58 dkCaron.item("d") := "ď" ; d with caron
59 dkCaron.item("D") := "Ď" ; D with caron
60 dkCaron.item("e") := "ě" ; e with caron
61 dkCaron.item("E") := "Ě" ; E with caron
62 dkCaron.item("g") := "ǧ" ; g with caron
63 dkCaron.item("G") := "Ǧ" ; G with caron
64 dkCaron.item("h") := "ȟ" ; h with caron
65 dkCaron.item("H") := "Ȟ" ; H with caron
66 dkCaron.item("i") := "ǐ" ; i with caron
67 dkCaron.item("I") := "Ǐ" ; I with caron
68 dkCaron.item("j") := "ǰ" ; j with caron
69 dkCaron.item("k") := "ǩ" ; k with caron
70 dkCaron.item("K") := "Ǩ" ; K with caron
71 dkCaron.item("l") := "ľ" ; l with caron
72 dkCaron.item("L") := "Ľ" ; L with caron
73 dkCaron.item("n") := "ň" ; n with caron
74 dkCaron.item("N") := "Ň" ; N with caron
75 dkCaron.item("o") := "ǒ" ; o with caron
76 dkCaron.item("O") := "Ǒ" ; O with caron
77 dkCaron.item("r") := "ř" ; r with caron
78 dkCaron.item("R") := "Ř" ; R with caron
79 dkCaron.item("s") := "š" ; s with caron
80 dkCaron.item("S") := "Š" ; S with caron
81 dkCaron.item("t") := "ť" ; t with caron
82 dkCaron.item("T") := "Ť" ; T with caron
83 dkCaron.item("u") := "ǔ" ; u with caron
84 dkCaron.item("U") := "Ǔ" ; U with caron
85 dkCaron.item("z") := "ž" ; z with caron
86 dkCaron.item("Z") := "Ž" ; Z with caron
87 dkCaron.item(" ") := "ˇ" ; caron
90 ; Dead Key : Ring/Dot Above
92 dkRingDotAbove := ComObjCreate("Scripting.Dictionary")
93 dkRingDotAbove.item("a") := "å" ; a with ring above
94 dkRingDotAbove.item("A") := "Å" ; A with ring above
95 dkRingDotAbove.item("ä") := "ȧ" ; a with dot above
96 dkRingDotAbove.item("Ä") := "Ȧ" ; a with dot above
97 dkRingDotAbove.item("b") := "ḃ" ; b with dot above
98 dkRingDotAbove.item("B") := "Ḃ" ; B with dot above
99 dkRingDotAbove.item("c") := "ċ" ; c with dot above
100 dkRingDotAbove.item("C") := "Ċ" ; C with dot above
101 dkRingDotAbove.item("d") := "ḋ" ; d with dot above
102 dkRingDotAbove.item("D") := "Ḋ" ; D with dot above
103 dkRingDotAbove.item("e") := "ė" ; e with dot above
104 dkRingDotAbove.item("E") := "Ė" ; E with dot above
105 dkRingDotAbove.item("f") := "ḟ" ; f with dot above
106 dkRingDotAbove.item("F") := "Ḟ" ; F with dot above
107 dkRingDotAbove.item("g") := "ġ" ; g with dot above
108 dkRingDotAbove.item("G") := "Ġ" ; G with dot above
109 dkRingDotAbove.item("h") := "ḣ" ; h with dot above
110 dkRingDotAbove.item("H") := "Ḣ" ; H with dot above
111 dkRingDotAbove.item("i") := "ı" ; dotless i (Turkish, Azerbaijani)
112 dkRingDotAbove.item("I") := "İ" ; I with dot above (Turkish, Azerbaijani)
113 dkRingDotAbove.item("j") := "ȷ" ; dotless j
114 dkRingDotAbove.item("l") := "ŀ" ; l with middle dot
115 dkRingDotAbove.item("L") := "Ŀ" ; L with middle dot
116 dkRingDotAbove.item("m") := "ṁ" ; m with dot above
117 dkRingDotAbove.item("M") := "Ṁ" ; M with dot above
118 dkRingDotAbove.item("n") := "ṅ" ; n with dot above
119 dkRingDotAbove.item("N") := "Ṅ" ; N with dot above
120 dkRingDotAbove.item("o") := "ȯ" ; o with dot above
121 dkRingDotAbove.item("O") := "Ȯ" ; O with dot above
122 dkRingDotAbove.item("p") := "ṗ" ; p with dot above
123 dkRingDotAbove.item("P") := "Ṗ" ; P with dot above
124 dkRingDotAbove.item("r") := "ṙ" ; r with dot above
125 dkRingDotAbove.item("R") := "Ṙ" ; R with dot above
126 dkRingDotAbove.item("s") := "ṡ" ; s with dot above
127 dkRingDotAbove.item("S") := "Ṡ" ; S with dot above
128 dkRingDotAbove.item("t") := "ṫ" ; t with dot above
129 dkRingDotAbove.item("T") := "Ṫ" ; T with dot above
130 dkRingDotAbove.item("u") := "ů" ; u with ring above
131 dkRingDotAbove.item("U") := "Ů" ; U with ring above
132 dkRingDotAbove.item("w") := "ẘ" ; w with ring above
133 dkRingDotAbove.item("å") := "ẇ" ; w with dot above
134 dkRingDotAbove.item("Å") := "Ẇ" ; W with dot above
135 dkRingDotAbove.item("x") := "ẋ" ; x with dot above
136 dkRingDotAbove.item("X") := "Ẋ" ; X with dot above
137 dkRingDotAbove.item("y") := "ẙ" ; y with ring above
138 dkRingDotAbove.item("ÿ") := "ẏ" ; y with dot above
139 dkRingDotAbove.item("Ÿ") := "Ẏ" ; Y with dot above
140 dkRingDotAbove.item("z") := "ż" ; z with dot above
141 dkRingDotAbove.item("Z") := "Ż" ; Z with dot above
142 dkRingDotAbove.item(" ") := "˙" ; dot above
147 dkMacron := ComObjCreate("Scripting.Dictionary")
148 dkMacron.item("a") := "ā" ; a with macron
149 dkMacron.item("A") := "Ā" ; A with macron
150 dkMacron.item("æ") := "ǣ" ; ae with macron
151 dkMacron.item("Æ") := "Ǣ" ; AE with macron
152 dkMacron.item("b") := "ƀ" ; b with stroke
153 dkMacron.item("B") := "Ƀ" ; B with stroke
154 dkMacron.item("d") := "đ" ; d with stroke
155 dkMacron.item("D") := "Đ" ; D with stroke
156 dkMacron.item("e") := "ē" ; e with macron
157 dkMacron.item("E") := "Ē" ; E with macron
158 dkMacron.item("g") := "ḡ" ; g with macron
159 dkMacron.item("G") := "Ḡ" ; G with macron
160 dkMacron.item("h") := "ħ" ; h with stroke
161 dkMacron.item("H") := "Ħ" ; H with stroke
162 dkMacron.item("i") := "ī" ; i with macron
163 dkMacron.item("I") := "Ī" ; I with macron
164 dkMacron.item("l") := "ł" ; l with stroke
165 dkMacron.item("L") := "Ł" ; L with stroke
166 dkMacron.item("ø") := "ḻ" ; l with line below
167 dkMacron.item("Ø") := "Ḻ" ; L with line below
168 dkMacron.item("o") := "ō" ; o with macron
169 dkMacron.item("O") := "Ō" ; O with macron
170 dkMacron.item("t") := "ŧ" ; t with stroke
171 dkMacron.item("T") := "Ŧ" ; T with stroke
172 dkMacron.item("u") := "ū" ; u with macron
173 dkMacron.item("U") := "Ū" ; U with macron
174 dkMacron.item("y") := "ȳ" ; y with macron
175 dkMacron.item("Y") := "Ȳ" ; Y with macron
176 dkMacron.item("z") := "ƶ" ; z with stroke
177 dkMacron.item("Z") := "Ƶ" ; Z with stroke
178 dkMacron.item(" ") := "¯" ; macron
181 ; Dead Key : Cedilla/Ogonek
183 dkCedillaOgonek := ComObjCreate("Scripting.Dictionary")
184 dkCedillaOgonek.item("a") := "ą" ; a with ogonek
185 dkCedillaOgonek.item("A") := "Ą" ; A with ogonek
186 dkCedillaOgonek.item("c") := "ç" ; c with cedilla
187 dkCedillaOgonek.item("C") := "Ç" ; C with cedilla
188 dkCedillaOgonek.item("d") := "ḑ" ; d with cedilla
189 dkCedillaOgonek.item("D") := "Ḑ" ; D with cedilla
190 dkCedillaOgonek.item("e") := "ę" ; e with ogonek
191 dkCedillaOgonek.item("E") := "Ę" ; E with ogonek
192 dkCedillaOgonek.item("ë") := "ȩ" ; e with cedilla
193 dkCedillaOgonek.item("Ë") := "Ȩ" ; E with cedilla
194 dkCedillaOgonek.item("g") := "ģ" ; g with cedilla
195 dkCedillaOgonek.item("G") := "Ģ" ; G with cedilla
196 dkCedillaOgonek.item("h") := "ḩ" ; h with cedilla
197 dkCedillaOgonek.item("H") := "Ḩ" ; H with cedilla
198 dkCedillaOgonek.item("i") := "į" ; i with ogonek
199 dkCedillaOgonek.item("I") := "Į" ; I with ogonek
200 dkCedillaOgonek.item("k") := "ķ" ; k with cedilla
201 dkCedillaOgonek.item("K") := "Ķ" ; K with cedilla
202 dkCedillaOgonek.item("l") := "ļ" ; l with cedilla
203 dkCedillaOgonek.item("L") := "Ļ" ; L with cedilla
204 dkCedillaOgonek.item("n") := "ņ" ; n with cedilla
205 dkCedillaOgonek.item("N") := "Ņ" ; N with cedilla
206 dkCedillaOgonek.item("o") := "ǫ" ; o with ogonek
207 dkCedillaOgonek.item("O") := "Ǫ" ; O with ogonek
208 dkCedillaOgonek.item("r") := "ŗ" ; r with cedilla
209 dkCedillaOgonek.item("R") := "Ŗ" ; R with cedilla
210 dkCedillaOgonek.item("s") := "ş" ; s with cedilla
211 dkCedillaOgonek.item("S") := "Ş" ; S with cedilla
212 dkCedillaOgonek.item("t") := "ţ" ; t with cedilla
213 dkCedillaOgonek.item("T") := "Ţ" ; T with cedilla
214 dkCedillaOgonek.item("u") := "ų" ; u with ogonek
215 dkCedillaOgonek.item("U") := "Ų" ; U with ogonek
216 dkCedillaOgonek.item(".") := "˛" ; ogonek
217 dkCedillaOgonek.item(" ") := "¸" ; cedilla
220 ; Dead Key : Breve/Special
222 dkBreveSpecial := ComObjCreate("Scripting.Dictionary")
223 dkBreveSpecial.item("a") := "ă" ; a with breve
224 dkBreveSpecial.item("A") := "Ă" ; A with breve
225 dkBreveSpecial.item("e") := "ĕ" ; e with breve
226 dkBreveSpecial.item("E") := "Ĕ" ; E with breve
227 dkBreveSpecial.item("ë") := "ǝ" ; small turned e
228 dkBreveSpecial.item("Ë") := "Ǝ" ; capital reversed E
229 dkBreveSpecial.item("f") := "ə" ; small letter schwa (Azerbaijani)
230 dkBreveSpecial.item("F") := "Ə" ; capital letter schwa (Azerbaijani)
231 dkBreveSpecial.item("g") := "ğ" ; g with breve
232 dkBreveSpecial.item("G") := "Ğ" ; G with breve
233 dkBreveSpecial.item("i") := "ĭ" ; i with breve
234 dkBreveSpecial.item("I") := "Ĭ" ; I with breve
235 dkBreveSpecial.item("j") := "ij" ; ligature ij
236 dkBreveSpecial.item("J") := "IJ" ; ligature IJ
237 dkBreveSpecial.item("n") := "ŋ" ; small letter eng(ma)
238 dkBreveSpecial.item("N") := "Ŋ" ; capital letter eng(ma)
239 dkBreveSpecial.item("o") := "ŏ" ; o with breve
240 dkBreveSpecial.item("O") := "Ŏ" ; O with breve
241 dkBreveSpecial.item("s") := "ș" ; s with comma below (Romanian)
242 dkBreveSpecial.item("S") := "Ș" ; S with comma below (Romanian)
243 dkBreveSpecial.item("t") := "ț" ; t with comma below (Romanian)
244 dkBreveSpecial.item("T") := "Ț" ; T with comma below (Romanian)
245 dkBreveSpecial.item("u") := "ŭ" ; u with breve
246 dkBreveSpecial.item("U") := "Ŭ" ; U with breve
247 dkBreveSpecial.item(" ") := "˘" ; breve
250 ; Dead Key : Acute Accent
252 dkAcuteAccent := ComObjCreate("Scripting.Dictionary")
253 dkAcuteAccent.item("a") := "á" ; a with acute
254 dkAcuteAccent.item("A") := "Á" ; A with acute
255 dkAcuteAccent.item("b") := "ɓ" ; b with hook
256 dkAcuteAccent.item("B") := "Ɓ" ; B with hook
257 dkAcuteAccent.item("c") := "ć" ; c with acute
258 dkAcuteAccent.item("C") := "Ć" ; C with acute
259 dkAcuteAccent.item("ç") := "ḉ" ; c with cedilla and acute
260 dkAcuteAccent.item("Ç") := "Ḉ" ; C with cedilla and acute
261 dkAcuteAccent.item("e") := "é" ; e with acute
262 dkAcuteAccent.item("E") := "É" ; E with acute
263 dkAcuteAccent.item("g") := "ǵ" ; g with acute
264 dkAcuteAccent.item("G") := "Ǵ" ; G with acute
265 dkAcuteAccent.item("i") := "í" ; i with acute
266 dkAcuteAccent.item("I") := "Í" ; I with acute
267 dkAcuteAccent.item("j") := "ij" ; ligature ij
268 dkAcuteAccent.item("J") := "IJ" ; ligature IJ
269 dkAcuteAccent.item("k") := "ḱ" ; k with acute
270 dkAcuteAccent.item("K") := "Ḱ" ; K with acute
271 dkAcuteAccent.item("l") := "ĺ" ; l with acute
272 dkAcuteAccent.item("L") := "Ĺ" ; L with acute
273 dkAcuteAccent.item("m") := "ḿ" ; m with acute
274 dkAcuteAccent.item("M") := "Ḿ" ; M with acute
275 dkAcuteAccent.item("n") := "ń" ; n with acute
276 dkAcuteAccent.item("N") := "Ń" ; N with acute
277 dkAcuteAccent.item("o") := "ó" ; o with acute
278 dkAcuteAccent.item("O") := "Ó" ; O with acute
279 dkAcuteAccent.item("ö") := "ő" ; o with double acute
280 dkAcuteAccent.item("Ö") := "Ő" ; O with double acute
281 dkAcuteAccent.item("p") := "ṕ" ; p with acute
282 dkAcuteAccent.item("P") := "Ṕ" ; P with acute
283 dkAcuteAccent.item("r") := "ŕ" ; r with acute
284 dkAcuteAccent.item("R") := "Ŕ" ; R with acute
285 dkAcuteAccent.item("s") := "ś" ; s with acute
286 dkAcuteAccent.item("S") := "Ś" ; S with acute
287 dkAcuteAccent.item("u") := "ú" ; u with acute
288 dkAcuteAccent.item("U") := "Ú" ; U with acute
289 dkAcuteAccent.item("ü") := "ű" ; u with double acute
290 dkAcuteAccent.item("Ü") := "Ű" ; U with double acute
291 dkAcuteAccent.item("w") := "ẃ" ; w with acute
292 dkAcuteAccent.item("W") := "Ẃ" ; W with acute
293 dkAcuteAccent.item("y") := "ý" ; y with acute
294 dkAcuteAccent.item("Y") := "Ý" ; Y with acute
295 dkAcuteAccent.item("z") := "ź" ; z with acute
296 dkAcuteAccent.item("Z") := "Ź" ; Z with acute
297 dkAcuteAccent.item("å") := "ǻ" ; a with ring above and acute
298 dkAcuteAccent.item("Å") := "Ǻ" ; A with ring above and acute
299 dkAcuteAccent.item("æ") := "ǽ" ; ae with acute
300 dkAcuteAccent.item("Æ") := "Ǽ" ; AE with acute
301 dkAcuteAccent.item("ø") := "ǿ" ; o with stroke and acute
302 dkAcuteAccent.item("Ø") := "Ǿ" ; O with stroke and acute
303 dkAcuteAccent.item("'") := "´" ; acute accent
304 dkAcuteAccent.item(" ") := "´" ; acute accent
307 ; Dead Key : Diaeresis
309 dkDiaeresis := ComObjCreate("Scripting.Dictionary")
310 dkDiaeresis.item("a") := "ä" ; a with diaeresis
311 dkDiaeresis.item("A") := "Ä" ; A with diaeresis
312 dkDiaeresis.item("e") := "ë" ; e with diaeresis
313 dkDiaeresis.item("E") := "Ë" ; E with diaeresis
314 dkDiaeresis.item("h") := "ḧ" ; h with diaeresis
315 dkDiaeresis.item("H") := "Ḧ" ; H with diaeresis
316 dkDiaeresis.item("i") := "ï" ; i with diaeresis
317 dkDiaeresis.item("I") := "Ï" ; I with diaeresis
318 dkDiaeresis.item("o") := "ö" ; o with diaeresis
319 dkDiaeresis.item("O") := "Ö" ; O with diaeresis
320 dkDiaeresis.item("t") := "ẗ" ; t with diaeresis
321 dkDiaeresis.item("u") := "ü" ; u with diaeresis
322 dkDiaeresis.item("U") := "Ü" ; U with diaeresis
323 dkDiaeresis.item("w") := "ẅ" ; w with diaeresis
324 dkDiaeresis.item("W") := "Ẅ" ; W with diaeresis
325 dkDiaeresis.item("x") := "ẍ" ; x with diaeresis
326 dkDiaeresis.item("X") := "Ẍ" ; X with diaeresis
327 dkDiaeresis.item("y") := "ÿ" ; y with diaeresis
328 dkDiaeresis.item("Y") := "Ÿ" ; Y with diaeresis
329 dkDiaeresis.item("""") := "¨" ; diaeresis
330 dkDiaeresis.item(" ") := "¨" ; diaeresis
333 ; Dead Key : Grave Accent
335 dkGraveAccent := ComObjCreate("Scripting.Dictionary")
336 dkGraveAccent.item("a") := "à" ; a with grave
337 dkGraveAccent.item("A") := "À" ; A with grave
338 dkGraveAccent.item("e") := "è" ; e with grave
339 dkGraveAccent.item("E") := "È" ; E with grave
340 dkGraveAccent.item("i") := "ì" ; i with grave
341 dkGraveAccent.item("I") := "Ì" ; I with grave
342 dkGraveAccent.item("n") := "ǹ" ; n with grave
343 dkGraveAccent.item("N") := "Ǹ" ; N with grave
344 dkGraveAccent.item("o") := "ò" ; o with grave
345 dkGraveAccent.item("O") := "Ò" ; O with grave
346 dkGraveAccent.item("u") := "ù" ; u with grave
347 dkGraveAccent.item("U") := "Ù" ; U with grave
348 dkGraveAccent.item("w") := "ẁ" ; w with grave
349 dkGraveAccent.item("W") := "Ẁ" ; W with grave
350 dkGraveAccent.item("y") := "ỳ" ; y with grave
351 dkGraveAccent.item("Y") := "Ỳ" ; Y with grave
352 dkGraveAccent.item("``") := "``" ; grave accent
353 dkGraveAccent.item(" ") := "``" ; grave accent
358 dkTilde := ComObjCreate("Scripting.Dictionary")
359 dkTilde.item("a") := "ã" ; a with tilde
360 dkTilde.item("A") := "Ã" ; A with tilde
361 dkTilde.item("e") := "ẽ" ; e with tilde
362 dkTilde.item("E") := "Ẽ" ; E with tilde
363 dkTilde.item("i") := "ĩ" ; i with tilde
364 dkTilde.item("I") := "Ĩ" ; I with tilde
365 dkTilde.item("n") := "ñ" ; n with tilde
366 dkTilde.item("N") := "Ñ" ; N with tilde
367 dkTilde.item("o") := "õ" ; o with tilde
368 dkTilde.item("O") := "Õ" ; O with tilde
369 dkTilde.item("u") := "ũ" ; u with tilde
370 dkTilde.item("U") := "Ũ" ; U with tilde
371 dkTilde.item("v") := "ṽ" ; v with tilde
372 dkTilde.item("V") := "Ṽ" ; V with tilde
373 dkTilde.item("y") := "ỹ" ; y with tilde
374 dkTilde.item("Y") := "Ỹ" ; Y with tilde
375 dkTilde.item("~") := "~" ; tilde
376 dkTilde.item(" ") := "~" ; tilde
379 ; Dead Key : Greek Alphabet
381 dkGreekAlphabet := ComObjCreate("Scripting.Dictionary")
382 dkGreekAlphabet.item("a") := "α" ; small alpha
383 dkGreekAlphabet.item("A") := "Α" ; capital alpha
384 dkGreekAlphabet.item("b") := "β" ; small beta
385 dkGreekAlphabet.item("B") := "Β" ; capital beta
386 dkGreekAlphabet.item("v") := "β" ; small beta
387 dkGreekAlphabet.item("V") := "Β" ; capital beta
388 dkGreekAlphabet.item("g") := "γ" ; small gamma
389 dkGreekAlphabet.item("G") := "Γ" ; capital gamma
390 dkGreekAlphabet.item("d") := "δ" ; small delta
391 dkGreekAlphabet.item("D") := "Δ" ; capital delta
392 dkGreekAlphabet.item("e") := "ε" ; small epsilon
393 dkGreekAlphabet.item("E") := "Ε" ; capital epsilon
394 dkGreekAlphabet.item("z") := "ζ" ; small zeta
395 dkGreekAlphabet.item("Z") := "Ζ" ; capital zeta
396 dkGreekAlphabet.item("i") := "η" ; small eta
397 dkGreekAlphabet.item("I") := "Η" ; capital eta
398 dkGreekAlphabet.item("h") := "θ" ; small theta
399 dkGreekAlphabet.item("H") := "Θ" ; capital theta
400 dkGreekAlphabet.item("j") := "ι" ; small iota
401 dkGreekAlphabet.item("J") := "Ι" ; capital iota
402 dkGreekAlphabet.item("k") := "κ" ; small kappa
403 dkGreekAlphabet.item("K") := "Κ" ; capital kappa
404 dkGreekAlphabet.item("l") := "λ" ; small lambda
405 dkGreekAlphabet.item("L") := "Λ" ; capital lambda
406 dkGreekAlphabet.item("m") := "μ" ; small mu
407 dkGreekAlphabet.item("M") := "Μ" ; capital mu
408 dkGreekAlphabet.item("n") := "ν" ; small nu
409 dkGreekAlphabet.item("N") := "Ν" ; capital nu
410 dkGreekAlphabet.item("x") := "ξ" ; small xi
411 dkGreekAlphabet.item("X") := "Ξ" ; capital xi
412 dkGreekAlphabet.item("o") := "ο" ; small omikron
413 dkGreekAlphabet.item("O") := "Ο" ; capital omikron
414 dkGreekAlphabet.item("p") := "π" ; small pi
415 dkGreekAlphabet.item("P") := "Π" ; capital pi
416 dkGreekAlphabet.item("r") := "ρ" ; small rho
417 dkGreekAlphabet.item("R") := "Ρ" ; capital rho
418 dkGreekAlphabet.item("s") := "σ" ; small sigma
419 dkGreekAlphabet.item("S") := "Σ" ; capital sigma
420 dkGreekAlphabet.item("ß") := "ς" ; small sigma, in word-final position
421 dkGreekAlphabet.item("ẞ") := "Σ" ; capital sigma
422 dkGreekAlphabet.item("t") := "τ" ; small tau
423 dkGreekAlphabet.item("T") := "Τ" ; capital tau
424 dkGreekAlphabet.item("y") := "υ" ; small upsilon
425 dkGreekAlphabet.item("Y") := "Υ" ; capital upsilon
426 dkGreekAlphabet.item("f") := "φ" ; small phi
427 dkGreekAlphabet.item("F") := "Φ" ; capital phi
428 dkGreekAlphabet.item("c") := "χ" ; small chi
429 dkGreekAlphabet.item("C") := "Χ" ; capital chi
430 dkGreekAlphabet.item("w") := "ψ" ; small psi
431 dkGreekAlphabet.item("W") := "Ψ" ; capital psi
432 dkGreekAlphabet.item("q") := "ω" ; small omega
433 dkGreekAlphabet.item("Q") := "Ω" ; capital omega
434 dkGreekAlphabet.item("u") := "ω" ; small omega
435 dkGreekAlphabet.item("U") := "Ω" ; capital omega
436 dkGreekAlphabet.item(" ") := "μ" ; small mu
441 dkSymbols := ComObjCreate("Scripting.Dictionary")
442 dkSymbols.item("a") := "ª" ; feminine ordinal indicator (Spanish, Portuguese, Italian, Galician)
443 dkSymbols.item("A") := "ª" ; feminine ordinal indicator (Spanish, Portuguese, Italian, Galician)
444 dkSymbols.item("b") := "•" ; bullet
445 dkSymbols.item("B") := "¦" ; broken bar
446 dkSymbols.item("c") := "©" ; copyright sign
447 dkSymbols.item("C") := "¤" ; currency sign
448 dkSymbols.item("d") := "†" ; dagger
449 dkSymbols.item("D") := "‡" ; double dagger
450 dkSymbols.item("e") := "℮" ; estimated symbol
451 dkSymbols.item("E") := "…" ; ellipsis
452 dkSymbols.item("f") := "♀" ; Venus symbol (female)
453 dkSymbols.item("F") := "♀" ; Venus symbol (female)
454 dkSymbols.item("h") := "⁃" ; hyphen bullet
455 dkSymbols.item("H") := "⁃" ; hyphen bullet
456 dkSymbols.item("i") := "∞" ; infinity symbol
457 dkSymbols.item("I") := "∞" ; infinity symbol
458 dkSymbols.item("l") := "ℓ" ; script small l
459 dkSymbols.item("L") := "ℓ" ; script small l
460 dkSymbols.item("m") := "♂" ; Mars symbol (male)
461 dkSymbols.item("M") := "♂" ; Mars symbol (male)
462 dkSymbols.item("n") := "ⁿ" ; superscript n
463 dkSymbols.item("N") := "¬" ; not sign
464 dkSymbols.item("o") := "º" ; masculine ordinal indicator (Spanish, Portuguese, Italian, Galician)
465 dkSymbols.item("O") := "º" ; masculine ordinal indicator (Spanish, Portuguese, Italian, Galician)
466 dkSymbols.item("p") := "¶" ; pilcrow sign
467 dkSymbols.item("P") := "¶" ; pilcrow sign
468 dkSymbols.item("r") := "®" ; registered sign
469 dkSymbols.item("R") := "®" ; registered sign
470 dkSymbols.item("s") := "§" ; section sign
471 dkSymbols.item("S") := "§" ; section sign
472 dkSymbols.item("t") := "™" ; trademark symbol
473 dkSymbols.item("T") := "™" ; trademark symbol
474 dkSymbols.item("v") := "→" ; rightwards arrow
475 dkSymbols.item("V") := "⇒" ; rightwards double arrow
476 dkSymbols.item("x") := "✗" ; ballot x
477 dkSymbols.item("X") := "✗" ; ballot x
478 dkSymbols.item("y") := "✓" ; check mark
479 dkSymbols.item("Y") := "✓" ; check mark
480 dkSymbols.item("z") := "←" ; leftwards arrow
481 dkSymbols.item("Z") := "⇐" ; leftwards double arrow
482 dkSymbols.item("1") := "≠" ; not equal to
483 dkSymbols.item("!") := "≠" ; not equal to
484 dkSymbols.item("2") := "√" ; square root
485 dkSymbols.item("@") := "√" ; square root
486 dkSymbols.item("3") := "∛" ; cube root
487 dkSymbols.item("#") := "∛" ; cube root
488 dkSymbols.item("4") := "∜" ; fourth root
489 dkSymbols.item("$") := "∜" ; fourth root
490 dkSymbols.item("5") := "‰" ; per mille sign
491 dkSymbols.item("%") := "‰" ; per mille sign
492 dkSymbols.item("6") := "ƒ" ; f with hook
493 dkSymbols.item("^") := "ƒ" ; f with hook
494 dkSymbols.item("7") := "№" ; numero sign
495 dkSymbols.item("&") := "№" ; numero sign
496 dkSymbols.item("8") := "·" ; middle dot
497 dkSymbols.item("*") := "·" ; middle dot
498 dkSymbols.item("``") := "≈" ; almost equal to
499 dkSymbols.item("~") := "≈" ; almost equal to
500 dkSymbols.item("=") := "↔" ; left right arrow
501 dkSymbols.item("+") := "⇔" ; left right double arrow
502 dkSymbols.item(",") := "≤" ; less-than or equal to
503 dkSymbols.item("<") := "≤" ; less-than or equal to
504 dkSymbols.item(".") := "≥" ; greater-than or equal to
505 dkSymbols.item(">") := "≥" ; greater-than or equal to
506 dkSymbols.item("-") := "±" ; plus-minus sign
507 dkSymbols.item("_") := "±" ; plus-minus sign
508 dkSymbols.item("\") := "⁞" ; vertical four dots
509 dkSymbols.item("|") := "⁞" ; vertical four dots
510 dkSymbols.item(" ") := "·" ; middle dot
513 ; Configuration : AltGr modifiers for US-QWERTY
516 if GetKeyState("CapsLock", "T")
517 Send ä ; a with diaeresis
519 Send Ä ; A with diaeresis
522 if GetKeyState("CapsLock", "T")
523 Send Ä ; A with diaeresis
525 Send ä ; a with diaeresis
529 if GetKeyState("CapsLock", "T")
530 Send à ; a with grave
532 Send À ; A with grave
535 if GetKeyState("CapsLock", "T")
536 Send À ; A with grave
538 Send à ; a with grave
542 if GetKeyState("CapsLock", "T")
543 Send á ; a with acute
545 Send Á ; A with acute
548 if GetKeyState("CapsLock", "T")
549 Send Á ; A with acute
551 Send á ; a with acute
555 if GetKeyState("CapsLock", "T")
561 if GetKeyState("CapsLock", "T")
568 if GetKeyState("CapsLock", "T")
569 Send å ; a with ring above
571 Send Å ; A with ring above
574 if GetKeyState("CapsLock", "T")
575 Send Å ; A with ring above
577 Send å ; a with ring above
581 if GetKeyState("CapsLock", "T")
582 Send ç ; c with cedilla
584 Send Ç ; C with cedilla
587 if GetKeyState("CapsLock", "T")
588 Send Ç ; C with cedilla
590 Send ç ; c with cedilla
594 if GetKeyState("CapsLock", "T")
595 Send ð ; small letter eth
597 Send Ð ; capital letter eth
600 if GetKeyState("CapsLock", "T")
601 Send Ð ; capital letter eth
603 Send ð ; small letter eth
607 if GetKeyState("CapsLock", "T")
608 Send ë ; e with diaeresis
610 Send Ë ; E with diaeresis
613 if GetKeyState("CapsLock", "T")
614 Send Ë ; E with diaeresis
616 Send ë ; e with diaeresis
620 if GetKeyState("CapsLock", "T")
621 Send è ; e with grave
623 Send È ; E with grave
626 if GetKeyState("CapsLock", "T")
627 Send È ; E with grave
629 Send è ; e with grave
633 if GetKeyState("CapsLock", "T")
634 Send é ; e with acute
636 Send É ; E with acute
639 if GetKeyState("CapsLock", "T")
640 Send É ; E with acute
642 Send é ; e with acute
646 if GetKeyState("CapsLock", "T")
647 Send ï ; i with diaeresis
649 Send Ï ; I with diaeresis
652 if GetKeyState("CapsLock", "T")
653 Send Ï ; I with diaeresis
655 Send ï ; i with diaeresis
659 if GetKeyState("CapsLock", "T")
660 Send ì ; i with grave
662 Send Ì ; I with grave
665 if GetKeyState("CapsLock", "T")
666 Send Ì ; I with grave
668 Send ì ; i with grave
672 if GetKeyState("CapsLock", "T")
673 Send í ; i with acute
675 Send Í ; I with acute
678 if GetKeyState("CapsLock", "T")
679 Send Í ; I with acute
681 Send í ; i with acute
685 if GetKeyState("CapsLock", "T")
686 Send ö ; o with diaeresis
688 Send Ö ; O with diaeresis
691 if GetKeyState("CapsLock", "T")
692 Send Ö ; O with diaeresis
694 Send ö ; o with diaeresis
698 if GetKeyState("CapsLock", "T")
699 Send ò ; o with grave
701 Send Ò ; O with grave
704 if GetKeyState("CapsLock", "T")
705 Send Ò ; O with grave
707 Send ò ; o with grave
711 if GetKeyState("CapsLock", "T")
712 Send ó ; o with acute
714 Send Ó ; O with acute
717 if GetKeyState("CapsLock", "T")
718 Send Ó ; O with acute
720 Send ó ; o with acute
724 if GetKeyState("CapsLock", "T")
725 Send ø ; o with stroke
727 Send Ø ; O with stroke
730 if GetKeyState("CapsLock", "T")
731 Send Ø ; O with stroke
733 Send ø ; o with stroke
737 if GetKeyState("CapsLock", "T")
743 if GetKeyState("CapsLock", "T")
750 if GetKeyState("CapsLock", "T")
751 Send ñ ; n with tilde
753 Send Ñ ; N with tilde
756 if GetKeyState("CapsLock", "T")
757 Send Ñ ; N with tilde
759 Send ñ ; n with tilde
763 if GetKeyState("CapsLock", "T")
764 Send ß ; small sharp s (Eszett)
766 Send ẞ ; capital sharp S (capital Eszett)
769 if GetKeyState("CapsLock", "T")
770 Send ẞ ; capital sharp S (capital Eszett)
772 Send ß ; small sharp s (Eszett)
776 if GetKeyState("CapsLock", "T")
777 Send þ ; small letter thorn
779 Send Þ ; capital letter thorn
782 if GetKeyState("CapsLock", "T")
783 Send Þ ; capital letter thorn
785 Send þ ; small letter thorn
789 if GetKeyState("CapsLock", "T")
790 Send ü ; u with diaeresis
792 Send Ü ; U with diaeresis
795 if GetKeyState("CapsLock", "T")
796 Send Ü ; U with diaeresis
798 Send ü ; u with diaeresis
802 if GetKeyState("CapsLock", "T")
803 Send ù ; u with grave
805 Send Ù ; U with grave
808 if GetKeyState("CapsLock", "T")
809 Send Ù ; U with grave
811 Send ù ; u with grave
815 if GetKeyState("CapsLock", "T")
816 Send ú ; u with acute
818 Send Ú ; U with acute
821 if GetKeyState("CapsLock", "T")
822 Send Ú ; U with acute
824 Send ú ; u with acute
828 if GetKeyState("CapsLock", "T")
829 Send ÿ ; y with diaeresis
831 Send Ÿ ; Y with diaeresis
834 if GetKeyState("CapsLock", "T")
835 Send Ÿ ; Y with diaeresis
837 Send ÿ ; y with diaeresis
841 if GetKeyState("CapsLock", "T")
842 Send ý ; y with acute
844 Send Ý ; Y with acute
847 if GetKeyState("CapsLock", "T")
848 Send Ý ; Y with acute
850 Send ý ; y with acute
854 >!+k::Send ‡ ; double dagger
856 >!/::Send ¿ ; inverted question mark
857 >!?::Send § ; section sign
859 >!1::Send ¡ ; inverted exclamation mark
860 >!+1::Send ¹ ; superscript 1
862 >!2::Send © ; copyright sign
863 >!+2::Send ² ; superscript 2
865 >!3::Send ± ; plus-minus sign
866 >!+3::Send ³ ; superscript 3
868 >!4::Send £ ; pound sign
869 >!+4::Send ¥ ; yen sign
871 >!5::Send € ; euro sign
872 >!+5::Send ¢ ; cent sign (dollar)
874 >!8::Send „ ; double low-9 quotation mark
875 >!+8::Send ‚ ; single low-9 quotation mark
877 >!9::Send “ ; left double quotation mark
878 >!+9::Send ‘ ; left single quotation mark
880 >!0::Send ” ; right double quotation mark
881 >!+0::Send ’ ; right single quotation mark
883 >!=::Send × ; multiplication sign
884 >!+=::Send ÷ ; division sign
886 >![::Send « ; left-pointing double angle quotation mark
887 >!{::Send ‹ ; left-pointing single angle quotation mark
889 >!]::Send » ; right-pointing double angle quotation mark
890 >!}::Send › ; right-pointing single angle quotation mark
892 >!;::Send ° ; degree sign
893 >!+;::Send ¶ ; pilcrow sign
895 >!\::Send ¬ ; not sign
896 >!|::Send ¦ ; broken bar
899 Input, key, L1, {delete}{esc}{home}{end}
900 Send % dkCircumflex.item(key)
903 Input, key, L1, {delete}{esc}{home}{end}
904 Send % dkCaron.item(key)
908 Input, key, L1, {delete}{esc}{home}{end}
909 Send % dkRingDotAbove.item(key)
912 Input, key, L1, {delete}{esc}{home}{end}
913 Send % dkMacron.item(key)
917 Input, key, L1, {delete}{esc}{home}{end}
918 Send % dkCedillaOgonek.item(key)
921 Input, key, L1, {delete}{esc}{home}{end}
922 Send % dkBreveSpecial.item(key)
926 Input, key, L1, {delete}{esc}{home}{end}
927 Send % dkAcuteAccent.item(key)
930 Input, key, L1, {delete}{esc}{home}{end}
931 Send % dkDiaeresis.item(key)
935 Input, key, L1, {delete}{esc}{home}{end}
936 Send % dkGraveAccent.item(key)
939 Input, key, L1, {delete}{esc}{home}{end}
940 Send % dkTilde.item(key)
944 Input, key, L1, {delete}{esc}{home}{end}
945 Send % dkGreekAlphabet.item(key)
948 Input, key, L1, {delete}{esc}{home}{end}
949 Send % dkSymbols.item(key)
952 >!space::Send ; no-break space